在請求與權限處理完成後,下一步就是將資料透過網路送到伺服器。
我們在前面已經看過 HTTP 協定,但「網路」的概念不只是 HTTP 而已。
這裡來整理一下大家常聽到的「七層 OSI 模型」與「四層 TCP/IP 模型」,幫助理解資料從應用程式發出後,經過哪些處理流程才能送達對方主機。
我的理解就是這層是「協定層」,負責處理像 HTTP、SMTP、FTP 這類協定。
也就是說,它處理「應用邏輯」與「用戶互動」相關的資料,例如你打開網頁、發送 Email,這些請求都會透過應用層協定處理。
負責將資料「轉譯、壓縮、加密」,轉成符合應用層的格式。
像是資料從伺服器送過來是二進位,但你看到的是 JSON、HTML,那這中間的格式轉換就屬於呈現層工作。
此外,也會進行加解密,例如 TLS/SSL 的加密動作,不過實務上這通常在應用層內的加密協定(如 HTTPS)中完成。
負責建立、管理與維持「會話連線」。
簡單來說,就是確保雙方有持續的連線狀態。舉例來說:如果一個檔案有 50MB,中途斷線了,會話層能幫助系統記住進度,下次重新連線能接續傳輸,而不是重頭來過。
負責傳輸控制,最常見的協定是 TCP 與 UDP。
TCP(Transmission Control Protocol):
有所謂的「三次握手」來建立穩定連線,確保資料完整送達,順序不錯亂。
** UDP(User Datagram Protocol):**
比較像是「寄明信片」,只管送出,不保證收到。常用於語音或影音串流,講求速度而不是可靠性。
負責封包的邏輯位址(IP)與路由。
也就是幫資料找出傳送的路徑,像是要透過哪個網關、哪些節點轉送,目的是讓資料從 A 主機走到 B 主機。
協定例如:IP、ICMP(例如 ping 指令就是用 ICMP)。
處理資料的實體位址(MAC)與錯誤偵測。
這一層會在區域網路(例如家裡的 Wi-Fi 或公司內網)中處理封包的「點對點傳輸」。
例如你的筆電要把封包送給同一個區網中的列印機,就靠這層來處理。
負責實際的「訊號傳輸」。
包含網卡、網路線、光纖、無線電波等。這層傳輸的是位元(bit),而不是封包(packet)。
TCP/IP 模型是更貼近現實使用的網路架構,也更簡潔,四層如下:
等同於 OSI 的應用層、表示層、會話層。
包含常見的應用協定,如:
與 OSI 的傳輸層對應,主要使用:
對應 OSI 的網路層,負責 IP 位址與路由功能。
像是:
結合了 OSI 的資料連結層與實體層。
實際操作中會涉及: